package com.heima.behavior.controller.v1;


import com.heima.behavior.service.ApLikesBehaviorService;
import com.heima.common.dtos.ResponseResult;
import com.heima.model.behavior.dtos.ArticleUserInfoDto;
import com.heima.model.behavior.dtos.LikesBehaviorDto;
import com.heima.model.behavior.dtos.UnLikesBehaviorDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * 点赞行为
 */
@RestController
@RequestMapping("/api/v1")
public class ApLikesBehaviorController {
    @Autowired
    private ApLikesBehaviorService apLikesBehaviorService;


    /**
     * 点赞或取消点赞
     */
    @PostMapping("/likes_behavior")
    public ResponseResult likesBehavior(@RequestBody LikesBehaviorDto dto){
        return apLikesBehaviorService.likesBehavior(dto);
    }

    /**
     * 文章 不喜欢/取消不喜欢
     * @param dto
     * @return
     */
    @PostMapping("/un_likes_behavior")
    public ResponseResult unLikesBehavior(@RequestBody UnLikesBehaviorDto dto){

        return apLikesBehaviorService.unLikesBehavior(dto);
    }

    /**
     * 查看文章是否点赞  自己调用
     * @param dto
     * @return
     */
    @PostMapping("/islike")
    public boolean islike(@RequestBody ArticleUserInfoDto dto){
        return apLikesBehaviorService.islike(dto);
    }

    /**
     * 查看文章 不喜欢/取消不喜欢 状态  自己调用
     * @param dto
     * @return
     */
    @PostMapping("/isunlike")
    public boolean isunlike(@RequestBody ArticleUserInfoDto dto){
        return apLikesBehaviorService.isunlike(dto);
    }

    /**
     * 查看文章是否点赞和查看文章 不喜欢/取消不喜欢 状态
     * @param dto
     * @return
     */
    @PostMapping("/islikeAnd/isunlike")
    public Map<String,Boolean> islikeAndisunlike(@RequestBody ArticleUserInfoDto dto){
        return apLikesBehaviorService.islikeAndisunlike(dto);
    }

}
